package top.wfzzq.ds;

import java.io.File;

/**
 * 文件递归操作演示
 * @author wanghui
 *
 */
public class FileDemo {
	//D:\dev\IDE\sts-bundle\sts-3.9.1.RELEASE
	//显示文件夹中所有文件和文件夹，包括子目录
	/**
	 * 
	 * @param dir
	 *     要显示文件夹
	 */
	public static void showDir(String dir) {
		try {
			//第一步，显示dir
			System.out.println("目录"+dir);
			//创建文件对象
			File dirinfo=new File(dir);
			//读取目录里面的子目录和目录列表
			File[] files=dirinfo.listFiles();
			for(File file:files) {
				//两种情况，一种目录，一种文件
				if (file.isDirectory()) {
					//getCannonicalPath方法返回的是文件对象的本平台路径格式
//					System.out.println("目录："+file.getCanonicalPath());
					//如果目录，就递归解决（因为showDir就是显示目录与文件）
					showDir(file.getCanonicalPath());
				}
				else {
					System.out.println("文件："+file.getCanonicalPath());
				}
			}
		} catch (Exception e) {
			// 无视错误的情况
		 //21每次只能拿1-4根，你先拿去，电脑后拿，用什么方法可以确定你拿到最后一根
			//rm -rf/
		}
	}
		public static void main(String[] args) {
			//作业：显示成缩进格式
			//   目录
			//     文件
			//       子目录
			//          文件
        	FileDemo.showDir("D:\\dev\\IDE\\sts-bundle\\sts-3.9.1.RELEASE");
//			System.out.println("\tabc");
		}
	

}
